package com.adopapa.wechatapi.domain.event;

import java.util.Map;

import javax.persistence.MappedSuperclass;


/**
 * 扫描带参数二维码事件
 * 如果用户还未关注公众号，则用户可以关注公众号，关注后微信会将带场景值关注事件推送给开发者。
 * 
 * 关注事件
 * 用户在关注与取消关注公众号时，微信会把这个事件推送到开发者填写的URL。
 * 方便开发者给用户下发欢迎消息或者做帐号的解绑。
 */
@Deprecated
@MappedSuperclass
public class SubscribeEvent extends Event {

	/**
	 * for 二维码事件
	 */
	private String eventKey;

	/**
	 * for 二维码事件
	 */
	private String ticket;

	public SubscribeEvent() {
		setMsgType("event");
		setEvent(EventType.subscribe.name());
	}

	public String getEventKey() {
		return eventKey;
	}

	public void setEventKey(String eventKey) {
		this.eventKey = eventKey;
	}

	public String getTicket() {
		return ticket;
	}

	public void setTicket(String ticket) {
		this.ticket = ticket;
	}

	@Override
	public void fromMap(Map<String, String> map) {
		setToUserName(map.get("ToUserName"));
		setFromUserName(map.get("FromUserName"));
		setCreateTime(Long.parseLong(map.get("CreateTime")));
		setEventKey(map.get("EventKey"));
		setTicket(map.get("Ticket"));
	}

	/**
	 * <xml><ToUserName><![CDATA[toUser]]></ToUserName>
	 * <FromUserName><![CDATA[FromUser]]></FromUserName>
	 * <CreateTime>123456789</CreateTime>
	 * <MsgType><![CDATA[event]]></MsgType>
	 * <Event><![CDATA[subscribe]]></Event>
	 * <EventKey><![CDATA[qrscene_123123]]></EventKey>
	 * <Ticket><![CDATA[TICKET]]></Ticket> </xml>
	 */
	/**
	 * ToUserName 开发者微信号 FromUserName 发送方帐号（一个OpenID） CreateTime 消息创建时间 （整型）
	 * MsgType 消息类型，event Event 事件类型，subscribe EventKey
	 * 事件KEY值，qrscene_为前缀，后面为二维码的参数值 Ticket 二维码的ticket，可用来换取二维码图片
	 */

}
